Using Partial Evaluation in Re ective Concurrent Object - Oriented Languages

نویسندگان

  • Hidehiko Masuhara
  • Satoshi Matsuoka
  • Kenjiro Taura
چکیده

Parallel and distributed programs often have hardware/problem speci c optimizations for improving quality of the program such as e ciency and robustness. Those optimizations, unfortunately, degrade portability and re-usability as they are intertwined with the original algorithm description. Re ective languages, which provide the application programmer extensible and abstract implementation of the language, can describe such optimizations as extensions to the language. The separation of optimization descriptions gains portability and re-usability of both application programs and optimizations. However, the interpretive execution model of re ective languages imposes a large amount of performance overhead, which sometimes outweighs benets of optimizations. Previous re ective languages prohibit some of operations being modi ed via re ection, so as to reduce the amount of interpretation overhead. The imperfection of this approach is that it still leaves a considerable amount of overhead, and it yields less exible, unclear re ective architecture. This dissertation investigates design and compilation framework of metainterpreters and meta-objects in an object-oriented concurrent language ABCL/R3. By using partial evaluation to compile re ective programs, ABCL/R3 achieves exible and lucid re ective architecture and e cient execution at the same time. We design fulledged meta-interpreters by examining several concurrent programming examples. A newly proposed delegation mechanism enables to de ne modular and scope controlled extensions to meta-interpreters. We design meta-objects by exploiting the notion of reader/writer methods in a concurrent object-oriented language Schematic, so that they can be e ectively partially evaluated. The compilation frameworks of meta-interpreters and meta-objects basically translate concurrent object de nitions into a sequential program, then apply partial evaluator for a sequential language, and generates a program in a (non-re ective) concurrent object-oriented language, in which base-level and meta-level objects are collapsed to single level objects. The e ciency of generated programs is demonstrated by several benchmark programs, in which our compiler exhibits performance close to non-re ective languages.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Compiling Away the Meta-Level in Object-Oriented Concurrent Re ective Languages Using Partial Evaluation

Meta-level programmability is bene cial for parallel/distributed object-oriented computing to improve performance, etc. The major problem, however, is interpretation overhead due to meta-circular interpretation. To solve this problem, we propose a compilation framework for object-oriented concurrent re ective languages using partial evaluation. Since traditional partial evaluators do not allow ...

متن کامل

Design and Partial Evaluation of Meta - objects for a Concurrent Re ective Language

Customizable meta-objects are a powerful abstraction for extending language features and implementation mechanisms, but interpretive execution su ers from severe performance penalty. Some of this penalty can be reduced by applying partial evaluation to metainterpreters, but partial evaluation of meta-objects in existing concurrent object-oriented languages is ine ective. This paper proposes a n...

متن کامل

|to appear in ECOOP'98 proceedings| Design and Partial Evaluation of Meta-objects for a Concurrent Re ective Language

Customizable meta-objects are a powerful abstraction for extending language features and implementation mechanisms, but interpretive execution su ers from severe performance penalty. Some of this penalty can be reduced by applying partial evaluation to metainterpreters, but partial evaluation of meta-objects in existing concurrent object-oriented languages is ine ective. This paper proposes a n...

متن کامل

Language Features for Re-use and Extensibility in Concurrent Object-oriented Programming Languages

We investigate and propose two major language features to realize and enhance extensibility and re-usability in concurrent object-oriented (OO) languages. Part 1 addresses inheritance in concurrent-OO languages: re-use of synchronization code in concurrent OO-languages has been considered di cult due to inheritance anomaly, which we analyze and categorize extensively, and minimize with our new ...

متن کامل

Language Features for Re - use and Extensibility in Concurrent Object - Oriented Programming

We investigate and propose two major language features to realize and enhance extensibility and re-usability in concurrent object-oriented (OO) languages. Part 1 addresses inheritance in concurrent-OO languages: re-use of synchronization code in concurrent OO-languages has been considered di cult due to inheritance anomaly, which we analyze and categorize extensively, and minimize with our new ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1999